﻿''' <summary>
''' Interface for classes which can be used to load NLS values.
''' </summary>
''' <remarks></remarks>
Public Interface ITranslationProvider

    ''' <summary>
    ''' Loads the translations for the given set of keys.
    ''' </summary>
    ''' <param name="languageID">The language ID.</param>
    ''' <param name="keys">The keys.</param>
    ''' <returns></returns>
    Function LoadTranslations(languageID As Integer, ParamArray keys() As String) As IDictionary(Of String, String)

    ''' <summary>
    ''' Loads the translations for all keys which match the given filter.
    ''' Filter may accept wildcards '*' or '%'.
    ''' </summary>
    ''' <param name="languageID">The language ID.</param>
    ''' <param name="keyFilter">The key filter.</param>
    ''' <returns></returns>
    Function LoadTranslationsByFilter(languageID As Integer, keyFilter As String) As IDictionary(Of String, String)


    ''' <summary>
    ''' Updates the NLS value for the given key.
    ''' </summary>
    ''' <param name="languageID">The language ID.</param>
    ''' <param name="key">The key.</param>
    ''' <param name="newValue">The new value.</param>
    Sub UpdateTranslation(languageID As Integer, key As String, newValue As String)


End Interface
